// import { defineStore } from 'pinia'
// import { ref } from 'vue'

// // 用户模块	token setToken removeToken 登录、退出、自身字段
// export const useUserStore = defineStore(
//     //'big-user'防止重名而加的前缀
//     'big-user',
//     () => {
//         const token = ref('') // 定义 token
//         const setToken = (t) => (token.value = t) // 设置 token
//         const removeToken = () => (token.value = '')
//         //暴露出去
//         return { token, setToken,removeToken }
//     },
//     {
//         persist: true // 持久化
//     }
// )

import { defineStore } from 'pinia'
import { ref } from 'vue'

// 用户模块	token setToken removeToken 登录、退出、自身字段
export const useUserStore = defineStore(
    //'big-user'防止重名而加的前缀
    'big-user',
    () => {
        // 创建响应式对象
        const state = reactive({
            token: sessionStorage.getItem('token') || null,
            roles: sessionStorage.getItem('roles') ? JSON.parse(sessionStorage.getItem('roles')) : [],
            username: sessionStorage.getItem("username") || "",
            menu: sessionStorage.getItem("menu") ? JSON.parse(sessionStorage.getItem("menu")) : [],
        });
        // 登录接口
        // const login = async (data) => {
        //     try {
        //         const res = await loginApi(data);
        //         console.log("res", res);

        //         const { roles, username } = res.data.user;
        //         const { token, menulist } = res.data;
        //         console.log("res.data", res.data);

        //         console.log("roles", roles, "username", username, "menulist", menulist);
        //         // 存在到 state 中
        //         state.token = token;
        //         state.roles = roles;
        //         state.menu = menulist;
        //         state.username = username;

        //         // 存储到 sessionStorage
        //         sessionStorage.setItem("token", token);
        //         sessionStorage.setItem("roles", JSON.stringify(roles));
        //         sessionStorage.setItem("username", username);
        //         sessionStorage.setItem("menu", JSON.stringify(menulist));
        //     } catch (error) {
        //         console.log("登录失败:", error);
        //         // 处理错误
        //     }
        // };
           
        // const token = ref('') // 定义 token
        // const setToken = (t) => (token.value = t) // 设置 token
        // const removeToken = () => (token.value = '')

  
// 重置
        const logout = () => {
            state.token = null;
            state.roles = [];
            state.username = "";
            state.menu = [];
            sessionStorage.clear();
        };
        //暴露出去
        return {
            token,
            login,
            logout,token, setToken,removeToken
        };
    },
    {
        persist: true // 持久化
    }
)